package com.sxit.tdf.server.service.impl;

import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sxit.tdf.server.entity.Course;
import com.sxit.tdf.server.entity.bo.CourseInfoBo;
import com.sxit.tdf.server.entity.bo.SimpleCourseInfoBo;
import com.sxit.tdf.server.entity.vo.SiftCourseInfoVo;
import com.sxit.tdf.server.mapper.CourseMapper;
import com.sxit.tdf.server.service.ICourseService;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;

/**
 * 服务实现类
 *
 * @author 橙子高
 * @since 2022-02-18
 */
@Service
public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements ICourseService {
  @Override
  public IPage<CourseInfoBo> getCourseInfoBo(SiftCourseInfoVo siftCourseInfoVo) {
    HashMap hashMap = JSONUtil.parse(siftCourseInfoVo).toBean(HashMap.class);

    Page<CourseInfoBo> page =
        new Page<CourseInfoBo>(siftCourseInfoVo.getCurrent(), siftCourseInfoVo.getPageSize());

    return baseMapper.getCourseInfoBo(page, hashMap);
  }

  @Override
  public List<SimpleCourseInfoBo> getSimpleCourseInfoBoList(Integer classId) {
    return baseMapper.getSimpleCourseInfoBoList(classId);
  }
}
